1. Field of the Invention
The invention relates to a device through which plural bus type transmission media are connected to one another and packets are exchanged, and also to a controlling device and a controlled device which are used under a situation where such plural transmission media are connected to the devices.
2. Related Art of the Invention
At present, as a digital interface which is useful in a digital AV apparatus or a computer peripheral apparatus, known is an IEEE 1394 interface which is an interface standardized by IEEE (I-triple-E) as the generation of a multimedia high-speed serial interface (see IEEE Std 1394-1995 High Performance Serial Bus).
Apparatuses which are to be connected to an IEEE 1394 interface (hereinafter, such an apparatus is referred to as a node) are connected in the form of a tree structure having branches, so that a data output from any node is transmitted to all the other nodes. Although the configuration has a tree structure, therefore, it actually functions as a bus. An identifier which is called a node ID is assigned to each of apparatuses which are connected to a bus in this way. A node ID can have a value in the range from 0 to 62. As a result, 63 apparatuses can be connected to one bus. In view of the tree structure, the connection between two arbitrary apparatuses can be performed by 16 hops at most, and the maximum length of a cable between apparatuses is 4.5 m. In the case where 64 or more apparatuses are to be connected or the connection length is longer than 4.5 m, a bus bridge which assigns IDs to busses and through which the busses are connected to one another can be used. According to this configuration, 1,023 busses can be connected to one another. At present, IEEE proceeds the standardization of such a bus bridge.
By contrast, an IEEE 1394 interface is an interface in which a node can be connected or disconnected during operation. The node IDs are automatically assigned by an operation initializing a bus which is performed when a new node is connected to the bus or conversely when a node is disconnected from the bus (hereinafter, such an operation is referred to as a bus reset). Therefore, a node can be connected or disconnected without requiring the user to set an ID. On the other hand, such a node ID is used as an address for transmission and reception of a packet, and node IDs are changed as a result of a bus reset. When a bus reset once occurs, therefore, the source node must check the node ID of the destination node at the present timing, before a packet is transmitted.
In the bus reset process, each of connected nodes transmits a self ID packet containing information relating to its own functions, in an order which is defined under a certain rule. The self ID packet further contains information indicative of the branching state, that indicative of the ability of the node relating to the bus management, and that relating to the transmission speed to which the node corresponds. In IEEE 1394, three transmission speeds, i.e., 100 Mbps, 200 Mbps, and 400 Mbps are defined. It is guaranteed that all nodes correspond to the transmission speed of 100 Mbps. When two nodes which perform transmission and reception of a packet and all relay nodes between the two nodes correspond to speeds of 200 Mbps and higher, the packet transmission can be performed by using a transmission speed of 200 Mbps or higher. According to information contained in the self ID packet, it is possible to judge whether a transmission speed of 200 Mbps or higher can be used or not. When the self ID packet is received, it is possible to know the number of nodes connected to the bud, the connection state of the bus, etc. Therefore, information such as a delay time for propagation which depends on the connection state of the bus can be known.
IEEE 1394 defines two kinds of packets. One of the packets is used for transmitting a data which must be processed in real time, such as video and audio, and called an isochronous packet. The other packet is used for transmitting a usual data which is not required to be processed in real time, and called an asynchronous packet. An isochronous packet is guaranteed to be transmitted in a reserved bandwidth, but cannot be subjected to processes such as retransmission. On occasions when such a process is necessary, an error correction process is performed. In advance of transmission, as described above, a bandwidth to be used must be reserved. By contrast, with respect to an asynchronous packet, processes such as retransmission can be performed, but the time period for transmission of the packet is not guaranteed because retransmission may be performed.
Among the two kinds of packets, an asynchronous packet undergoes transmission and reception processes as an access to a CSR (Control and Status Register) address space which is defined in ISO/IEC 13213 (Control and Status Register Architecture for Microcomputer Buses) and IEEE 1394 and which the corresponding node has. In other words, in IEEE 1394, all nodes connected to a bus have a virtual 48-bits address space and communication between nodes is realized as a writing or reading operation on the respective address space. In an asynchronous packet, therefore, a packet for performing a writing or reading operation on an address space is defined.
When a data which is not required to be processed in real time is to be transmitted from a node, the node transmits a packet for writing the data into the destination address space. The reception side judges the kind and type of the data from the written address, and returns a response indicating whether the reception has been normally performed as a result of the writing operation or not (a write request and a write response). By contrast, when a node requests a data, a request for reading out the address of the request destination is transmitted. In this case, the node which receives the data request judges the kind and contents of the requested data, from the address of the read request, and then transmits an appropriate data as a response to the reading operation (a read request and a read response). In this way, the data transfer is realized by writing a data into an address space, a read request, and a response to the request. FIGS. 1 and 2 show such an asynchronous packet. The portions of the same contents are designated by the same reference numeral.
FIG. 1(a) shows a packet for performing a write request, and FIG. 1(b) shows a packet for performing a response to the write request. FIG. 2(a) shows a packet a packet for performing a read request, and FIG. 2(b) shows a packet for performing a response to the read request. The write request, the read request, and the responses to the requests are distinguished from one another by a kind 106.
The write request is transmitted with using a packet of a write request packet 101, and writing the node ID of the destination to which the write request is to be transmitted into a destination ID 103, the ID of the node which performs the write request into a source ID 108, the leading address into which the data is to be written, into a write leading address 109, the size of the data to be written, into a write size 110, and the data to be transmitted into a data to be written 111. A label 104 is used by the transmission node in order to associate the request with the response, an rt 105 indicates whether retransmission is to be performed or not, and a pri 107 indicate the priority of the packet.
In the response to the write request, a write response packet 102 is used, and it is indicated whether the data has been normally received or not, by using a result 112. A label 104 of the packet for the response uses the same value as the packet for the request. According to this configuration, it is possible to associate the request with the response.
By contrast, the read request is transmitted with using a packet of a read request packet 201, and writing the node ID of the destination to which the read request is to be transmitted into a destination ID 103, the ID of the node which performs the read request into a source ID 108, the leading address from which the data is to be read out and which is previously known, into a read leading address 109, and the size of the data to be read into a reading size 110.
The response to the read request is transmitted with using a read response packet 202, indicating whether the data has been normally received or not, by using a result 112, and writing the size of the data which has been actually read out, into a read size 204, and the read-out data into a read-out data 205.
In IEEE 1394, a part of the CSR address space has a 64-bit number specific to a node which can uniquely identify the function and ability of the node and the node itself, at an address which is determined so as to be common to all nodes. This address is called a configuration ROM. A node connected to IEEE 1394 can detect a change in the node ID before and after a bus reset, by using the number which is specific to a node and which is contained in the configuration ROM.
A digital AV apparatus having an IEEE 1394 interface transmits and receives information relating to the control, and the like, by using such an asynchronous packet. The method of transmitting and receiving such control information is defined in IEC 61883. In the method defined in the standard, a command for controlling an apparatus is transmitted as a write request to a specific address of a CSR address space. By contrast, also a response to the request is transmitted as a write request to a specific address. The address of the controlled side for writing a command for a control is different from that of the controlling side for writing a result of the operation of the apparatus.
By contrast, when an isochronous packet for transmitting a data which must be processed in real time is to be used, as described above, it is required to perform an operation of reserving a bandwidth to be used, on the bandwidth management node. The bandwidth management node is uniquely determined from information contained in the self ID packet which is transmitted in the case of a bus reset. When an isochronous packet is to be transmitted, a bus use time per unit time which depends on the size of the packet and the propagation delay calculated from the connection state of the bus is reserved in advance of transmission. As described above, the propagation delay can be determined by analyzing the self ID packet.
As a method of transmitting and receiving information and data for controlling a hard disk drive, a CD-ROM, or the like by using IEEE 1394, known is Serial Bus Protocol 2 (hereinafter, referred to as SBP2). ANSI proceeds the standardization of SBP2. In SBP2, control information defined in SCSI (Small Computer System Interface) and data are transferred and received by using an IEEE 1394 interface. Therefore, apparatuses which are conventionally connected to a computer by using SCSI, such as hard disk drive and a CD-ROM can be connected to a computer by using an IEEE 1394 interface.
In SBP2, it is specified that, in advance of control of an apparatus, a procedure for causing a controlling device to exclusively use a controlled device is performed. As a result of this procedure, the controlled device executes only a control request from the device which is allowed to exclusively use the controlled device, and denies a control request from any other device. By contrast, in an IEEE 1394 interface, an apparatus can be connected or disconnected during operation, and hence there are possibilities that a controlling device which has exclusively used a controlled device is disconnected from the interface, and that a bus reset which is performed as a result of this disconnection causes the node ID of the controlling device performing the exclusive use to be changed. To comply with this, in SBP2, an exclusive use is once canceled when a bus reset is detected. In a controlling device, when a bus reset is detected, a procedure for an exclusive use is again performed after the bus reset is ended.
In the same manner, also in the method of transmitting and receiving control information in a digital AV apparatus defined in IEC 61883, a controlled device can be exclusively used. In this case also, when a bus reset is detected, both controlling and controlled devices perform an operation of canceling the exclusive use, and then a procedure of setting an exclusive use is again performed.
In the above-described example of SBP2, when a control which requires an exclusive use is performed, it is necessary to detect a change of the connection state of a transmission medium and cancel or reset the exclusive use.
In a system wherein plural transmission media (busses) are connected to one another by means of an apparatus for connecting busses such as a bus bridge, however, a bus reset which occurs in another transmission medium cannot be detected because connection and disconnection of an apparatus occur in each of the transmission media. In the case where a controlling device and a controlled device are connected to different transmission media and apparatuses are controlled via a bus bridge, even when the controlling device is disconnected, therefore, the controlled device cannot detect the disconnection and cancel the exclusive use state. Consequently, there is a problem in that, when the controlling device is disconnected, the controlled device is left to be in the exclusive use state and any controlling device cannot thereafter use the controlled device.
Furthermore, also the controlling device cannot detect a bus reset in the other transmission medium to which the controlled device is connected. Therefore, there arises a problem in that the controlling device cannot temporarily cancel the exclusive use state and again perform the procedure of setting the exclusive use, and a further control is disabled.
In a system wherein plural sets of such IEEE 1394 interfaces are connected to one another, the interfaces must mutually inquire about information relating abilities of nodes. Particularly when a bus reset occurs, even if the bus reset is detected, plural nodes concentrically transmit the same inquiry to a node which is connected to the bus wherein the bus reset occurs, thereby producing a problem in that these inquiries may disturb a usual data transfer. Moreover, only a node which is connected to the bus wherein the bus reset occurs can receive a self ID packet which is transmitted as a result of the bus reset. Therefore, there is a further problem in that the other nodes which are connected via the bus bridge cannot know information such as the correspondence transmission speed of the node, the degree of the propagation delay which depends on the connection state of the bus, and the node ID of the bandwidth management node.
As described above, in the prior art, a method which can sufficiently cope with connection of plural transmission media has not yet been established, and there are problems in that various kinds of inquires and collection of information cannot be performed, and that other communication may be disturbed.
On the other hand, in a prior art bus bridge through which plural transmission media are connected to one another, in order to transfer a packet received from one transmission medium to another one, it is required to receive all packets on the transmission media and judge whether the received packets are to be transferred to other transmission media or not. In the case of IEEE 1394, for example, a packet can be transmitted by using the ID of a bus to another bus which is connected beyond a bus bridge. In this case, however, all packets transmitted to the bus must be received and the received packets must be subjected to judgement on whether they should be transmitted or not. In the reception of all packets, it is impossible to use a packet transmitting and receiving circuit which is used in a usual apparatus. In order to judge whether a packet is to be transferred or not, moreover, a sophisticated process must be performed at a high speed. In this way, a connection of transmission media has a problem in that a special circuit and a sophisticated process are required.
In IEEE 1394, for example, the node ID is changed when a bus reset occurs. Consequently, IEEE 1394 has a problem in that, each time when a bus reset occurs, the node ID of the node which transmits a packet must be checked, thereby complicating a process relating to the packet transmission. In this way, when a data is transmitted with connecting plural transmission media wherein identifiers of connected apparatuses are changed, there is a problem in that an operation of checking the destination of the data is complicated.
On the other hand, for example, IEEE 1394 functions as a bus. At a moment when a node transmits a data, therefore, another node cannot use the bus. Therefore, the time required for transmission in the case where 200 Mbps is used as the transmission speed is shorter than that in the case where 100 Mbps is used, and hence a bus can be efficiently used in the former case. In the case where a packet is to be transmitted beyond a bus bridge, even when a transmission speed higher than 100 Mbps can be used in one bus, a transmission speed higher than 100 Mbps cannot be used as described above unless all relay nodes between the node and the destination node in another bus correspond to the transmission speed. Therefore, there arises a problem in that busses cannot be efficiently used. In this way, when a data is transmitted with connecting plural transmission media which can use multiple transmission speeds, there is a problem in that available data transmission speeds are restricted by the ability of a relay apparatus and the transmission media cannot be efficiently used.
In IEEE 1394, for example, when a node which is the destination of a packet fails to correspond to the connection of plural busses using a bus bridge, a communication via a bus bridge cannot be performed and hence data transfer is disabled. In this way, in the case where a data is transmitted with connecting plural transmission media, when an apparatus which is the destination of a packet can perform packet transmission with only nodes connected to the transmission medium to which the apparatus itself is connected, there is a problem in that a data cannot be transmitted between the apparatus and an apparatus connected to another transmission medium.
As described above, a prior art device has a problem in that, in an environment where plural busses are connected to one another, it cannot normally operate.
In view of the above-discussed problems of a prior art device, it is an object of the invention to provide a transmission medium connecting device, a controlling device, a controlled device, and a storage medium which allow plural transmission media such as IEEE 1394 to be connected to one another and enable data transmission and control among the transmission media.
A transmission medium connecting device of the present invention through which plural bus type transmission media are connected to one another, wherein said device comprises:
an apparatus information list containing apparatus information relating to apparatuses connected to said bus type transmission media;
apparatus information collecting means for collecting the apparatus information of each of apparatuses, and for preparing said apparatus information list;
packet receiving means for receiving a packet transmitted from said transmission media;
information outputting means for receiving a request for an access to apparatus information contained in said apparatus information list, and for reading out requested information from said apparatus information list and outputting the information; and
packet transmitting means for transmitting a packet to said transmission media.
A transmission medium connecting device of the present invention through which plural bus type transmission media are connected to one another, wherein said device comprises:
a transmission medium information list containing a parameter indicating a connection configuration of each of said bus type transmission media connected to said transmission medium connecting device;
transmission medium information preparing means for preparing said transmission medium information list in accordance with acquired connection configurations of said bus type transmission media;
packet receiving means for receiving a packet transmitted from said transmission media;
information outputting means for receiving a request for an access to transmission medium information contained in said transmission medium information list, and for reading out requested information from said transmission medium information list and outputting the information; and
packet transmitting means for transmitting a packet to said transmission media.
A transmission medium connecting device of the present invention through which plural bus type transmission media in which an apparatus identifier applied to a connected apparatus is changed are connected to one another and packets are exchanged, wherein said device comprises:
virtual identifier applying means for applying a virtual identifier to each of apparatuses, said virtual identifier being able to identify all apparatuses connected to said bus type transmission media;
a virtual identifier correspondence table which holds correspondence between said virtual identifiers of said apparatuses and said apparatus identifiers;
packet transmitting means for transmitting a packet to said bus type transmission media; and
packet receiving means for receiving a packet from said bus type transmission media,
when said packet receiving means receives a transfer packet in which said virtual identifier is used as a destination parameter and which requests a transfer to another apparatus, said transmission medium connecting device converts said destination parameter into said apparatus identifier of a destination at this timing, on the basis of said virtual identifier correspondence table, and
said packet transmitting means transmits contents of
said transfer packet to an apparatus indicated by said destination parameter, with using said apparatus identifier.
A transmission medium connecting device of the present invention through which plural bus type transmission media are connected to one another and packets are exchanged, wherein said device comprises:
packet receiving means for receiving a packet; and
packet transferring means (307) for, when a reception packet received by said packet receiving means satisfies predesignated conditions, transferring said reception packet to a predesignated apparatus.
A transmission medium connecting device of the present invention through which plural bus type transmission media in which an apparatus can be connected or disconnected during operation and which, when a connection state is changed, are initialized are connected to one another, wherein said device comprises:
transmission medium monitoring means (602) for monitoring a state of each of said transmission media connected to said transmission medium connecting device, and for detecting initialization of said transmission media;
first request accepting means (603) for accepting designation information relating to a monitored transmission medium (607) which is to be monitored with respect to initialization, and a connection state notification destination device (610) to which notification of occurrence of initialization of said monitored transmission medium, from a first requesting device (610) which is connected to one of said transmission media connected to said transmission medium connecting device; and
connection state notifying means (604) for, when said transmission medium monitoring means detects initialization of a transmission medium which is a monitoring object, notifying the detection to said connection state notification destination device.
A transmission medium connecting device of the present invention through which plural bus type transmission media in which an apparatus can be connected or disconnected during operation and which, when a connection state is changed, are initialized are connected to one another, wherein said device comprises:
transmission medium monitoring means (602) for monitoring a state of each of said transmission media connected to said transmission medium connecting device, and for detecting initialization of said transmission media;
second request accepting means (703) for accepting designation of a monitored transmission medium (607) which is to be monitored with respect to initialization, and an initialized transmission medium (609) which is to be interlockingly initialized, from a second requesting device (705) which is connected to one of said transmission media connected to said transmission medium connecting device; and
first initializing means (702) for, when said transmission medium monitoring means (602) detects initialization of said monitored transmission medium (607), initializing said initialized transmission medium (609) in a manner interlocked with the initialization.
A transmission medium connecting device of the present invention through which plural bus type transmission media in which an apparatus can be connected or disconnected during operation and which, when a connection state is changed, are initialized are connected to one another, wherein said device comprises:
third request accepting means (803) for accepting designation of a monitored device (805) which is connected to one of said transmission media connected to said transmission medium connecting device, and which to be monitored with respect to an operation state, and an operation state notification destination device (804) to which a non-operation state of said monitored device is notified, from a third requesting device (805) which is connected to one of said transmission media connected to said transmission medium connecting device; and
operation state notifying means for monitoring the operation state of said monitored device, and for, when it is detected that said monitored device is not operating, notifying a non-operation state to said operation state notification destination device.
A transmission medium connecting device of the present invention through which plural bus type transmission media in which an apparatus can be connected or disconnected during operation and which, when a connection state is changed, are initialized are connected to one another, wherein said device comprises:
fourth request accepting means for accepting designation of a monitored device (905) which is to be monitored with respect to an operation state, and an initialized transmission medium (609) which is to be initialized, from a fourth requesting device (905) which is connected to one of said transmission media connected to said transmission medium connecting device; and
second initializing means (902) for monitoring the operation state of said monitored device, and for, when it is detected that said monitored device (905) is not operating, initializing said initialized transmission medium (609).
A controlled device of the present invention which is connected to a transmission medium in which an apparatus can be connected or disconnected during operation and which, when a connection state is changed, is initialized, wherein
said controlled device operates with receiving an operation request from a controlling device connected to a second transmission medium, said controlled device being indirectly connected to said second transmission medium via a transmission medium connecting device connected to a first transmission medium to which said controlled device is directly connected,
said controlled device comprises:
notification receiving means for receiving at least one of a notification indicating that initialization occurs in said second transmission medium, and a notification indicating that said controlling device is not operating; and
operation managing means for managing an operation of said controlled device, and for, when said notification receiving means receives one of the notifications, canceling a part of or all of the operation request, and
said controlled device operates with receiving the operation request from said controlling device.
A controlling device of the present invention which is connected to a transmission medium in which an apparatus can be connected or disconnected during operation and which, when a connection state is changed, is initialized, wherein
said controlling device transmits an operation request to a controlled device, said controlled device being indirectly connected to a first transmission medium via a transmission medium connecting device connected to a second transmission medium to which said controlling device is directly connected, and
said controlling device comprises:
notification receiving means for receiving at least one of a notification indicating that initialization occurs in said first transmission medium, and a notification indicating that said controlled device is not operating; and
operation request managing means for generating and transmitting the operation request to said controlled device, for, when said notification receiving means receives one of the notifications, checking an operation state of said controlled device, and for, when said controlled device is operating, again transmitting an operation request which has not yet been completed.